﻿Namespace DatabaseStorageDemo.Storage
   ''' <summary>
   ''' DocumentInfo object for <see cref="DatabaseStorageProvider"/>.
   ''' </summary>
   Public Class DatabaseDocumentInfo
      ''' <summary>
      ''' Initializes a new instance of the <see cref="DatabaseDocumentInfo"/> class.
      ''' </summary>
      ''' <param name="title">The title.</param>
      ''' <param name="subject">The subject.</param>
      ''' <param name="keywords">The keywords.</param>
      ''' <param name="author">The author.</param>
      ''' <param name="creator">The creator.</param>
      ''' <param name="fileId">The database id for the file.</param>
      ''' <param name="pageCount">The page count.</param>
      ''' <param name="fileName">Name of the file.</param>
      ''' <param name="lastModified">The date and time the document was last modified in the database.</param>
      Protected Friend Sub New(title__1 As String, subject__2 As String, keywords__3 As String, author__4 As String, creator__5 As String, fileId__6 As Integer, _
       pageCount__7 As Integer, fileName__8 As String, lastModified__9 As DateTime)
         LastModified = lastModified__9
         FileId = fileId__6
         Title = title__1
         Subject = subject__2
         Keywords = keywords__3
         Author = author__4
         Creator = creator__5
         PageCount = pageCount__7
         FileName = fileName__8
      End Sub

      ''' <summary>
      ''' Gets the title of this document.
      ''' </summary>
      ''' <value>The title of this document.</value>
      Public Property Title() As String
         Get
            Return m_Title
         End Get
         Private Set(value As String)
            m_Title = Value
         End Set
      End Property
      Private m_Title As String
      ''' <summary>
      ''' Gets the subject of this document.
      ''' </summary>
      ''' <value>The subject of this document.</value>
      Public Property Subject() As String
         Get
            Return m_Subject
         End Get
         Private Set(value As String)
            m_Subject = Value
         End Set
      End Property
      Private m_Subject As String
      ''' <summary>
      ''' Gets the keywords of this document.
      ''' </summary>
      ''' <value>The keywords of this document.</value>
      Public Property Keywords() As String
         Get
            Return m_Keywords
         End Get
         Private Set(value As String)
            m_Keywords = Value
         End Set
      End Property
      Private m_Keywords As String
      ''' <summary>
      ''' Gets the name of the person who authored this document.
      ''' </summary>
      ''' <value>The name of the person who authored this document.</value>
      Public Property Author() As String
         Get
            Return m_Author
         End Get
         Private Set(value As String)
            m_Author = Value
         End Set
      End Property
      Private m_Author As String
      ''' <summary>
      ''' Gets the name of the application that created this document. 
      ''' </summary>
      ''' <value>The name of the application that created this document.</value>
      Public Property Creator() As String
         Get
            Return m_Creator
         End Get
         Private Set(value As String)
            m_Creator = Value
         End Set
      End Property
      Private m_Creator As String
      ''' <summary>
      ''' Gets or sets the number of pages in the document.
      ''' </summary>
      ''' <value>The page count.</value>
      Public Property PageCount() As Integer
         Get
            Return m_PageCount
         End Get
         Private Set(value As Integer)
            m_PageCount = Value
         End Set
      End Property
      Private m_PageCount As Integer
      ''' <summary>
      ''' Gets or sets the name of the file.
      ''' </summary>
      ''' <value>The name of the file.</value>
      Public Property FileName() As String
         Get
            Return m_FileName
         End Get
         Private Set(value As String)
            m_FileName = Value
         End Set
      End Property
      Private m_FileName As String
      ''' <summary>
      ''' Gets or sets the file id.
      ''' </summary>
      ''' <value>The file id.</value>
      Public Property FileId() As Integer
         Get
            Return m_FileId
         End Get
         Private Set(value As Integer)
            m_FileId = Value
         End Set
      End Property
      Private m_FileId As Integer
      ''' <summary>
      ''' Gets or sets the last modified.
      ''' </summary>
      ''' <value>The last modified.</value>
      Public Property LastModified() As DateTime
         Get
            Return m_LastModified
         End Get
         Private Set(value As DateTime)
            m_LastModified = Value
         End Set
      End Property
      Private m_LastModified As DateTime
   End Class
End Namespace
